package com.zs.infrastructure.util.invoker.tushare.request;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.zs.infrastructure.util.constant.TuShareConstants;
import com.zs.infrastructure.util.invoker.tushare.TuShareInvokerRequest;
import lombok.Data;

import java.util.ArrayList;
import java.util.Arrays;

/**
 * @author
 * @date 2022/8/28 0028 下午 9:40
 * @desc
 **/
@Data
public class TuShareStockBasicRequest extends TuShareInvokerRequest {

    public TuShareStockBasicRequest() {
        super.requestPath = TuShareConstants.StockData.STOCK_BASIC;
        super.fields =  new ArrayList<String>(){{add("ts_code");add("symbol");add("name");add("area");add("industry");
            add("fullname");add("enname");add("cnspell");add("market");add("exchange");add("curr_type");add("list_status");
            add("list_date");add("delist_date");add("is_hs");}};
    }

    /** 是否沪深港通标的，N否 H沪股通 S深股通 */
    @JsonProperty("isHs")
    private String is_hs;
    /** 上市状态 L上市 D退市 P暂停上市，默认是L */
    @JsonProperty("listStatus")
    private String list_status;
    /** 交易所 SSE上交所 SZSE深交所 BSE北交所 */
    private String exchange;
    /** TS股票代码 */
    @JsonProperty("tsCode")
    private String ts_code;
    /** 市场类别 （主板/创业板/科创板/CDR/北交所） */
    private String market;
    private Integer limit;
    private Integer offset;
    /** 名称 */
    private String name;

    public String getIs_hs() {
        return is_hs;
    }

    public void setIs_hs(String is_hs) {
        this.is_hs = is_hs;
    }

    public String getList_status() {
        return list_status;
    }

    public void setList_status(String list_status) {
        this.list_status = list_status;
    }

    public String getExchange() {
        return exchange;
    }

    public void setExchange(String exchange) {
        this.exchange = exchange;
    }

    public String getTs_code() {
        return ts_code;
    }

    public void setTs_code(String ts_code) {
        this.ts_code = ts_code;
    }

    public String getMarket() {
        return market;
    }

    public void setMarket(String market) {
        this.market = market;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getOffset() {
        return offset;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
